[INFO] cloning repository https://github.com/sanjulaonline/polymarket-arb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sanjulaonline/polymarket-arb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanjulaonline%2Fpolymarket-arb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanjulaonline%2Fpolymarket-arb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8be76a3dc3abe3f8a30c245d36920d53faf2ff64
[INFO] fixing sanjulaonline/polymarket-arb against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanjulaonline%2Fpolymarket-arb" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sanjulaonline/polymarket-arb
[INFO] finished tweaking git repo https://github.com/sanjulaonline/polymarket-arb
[INFO] tweaked toml for git repo https://github.com/sanjulaonline/polymarket-arb written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sanjulaonline/polymarket-arb on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sanjulaonline/polymarket-arb already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b
[INFO] running `Command { std: "docker" "start" "31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking indexmap v2.13.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking keccak v0.1.6
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking simba v0.6.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking tokio v1.51.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking ratatui v0.26.3
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking nalgebra v0.29.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-socks v0.5.2
[INFO] [stderr]     Checking tokio-retry v0.3.0
[INFO] [stderr]     Checking async-http-proxy v1.2.5
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking statrs v0.16.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking polymarket-arb v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/main.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/detector.rs:305:62
[INFO] [stdout]     |
[INFO] [stdout] 250 | /                   tokio::select! {
[INFO] [stdout] 251 | |                       recv = rx.recv() => {
[INFO] [stdout] 252 | |                           let tick = match recv {
[INFO] [stdout] 253 | |                               Ok(tick) => tick,
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | |                               self.check_slot(&slot).await;
[INFO] [stdout]     | |                               ----------------------------
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 295 | |                                           let api_resolved = self
[INFO] [stdout]     | |      ________________________________________________________-
[INFO] [stdout] 296 | |     |                                         .client
[INFO] [stdout] 297 | |     |                                         .check_market_resolution(condition_id)
[INFO] [stdout] 298 | |     |                                         .await
[INFO] [stdout]     | |     |                                          -----
[INFO] [stdout]     | |     |                                          |   |
[INFO] [stdout]     | |     |__________________________________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                                |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |                                               if let Ok(onchain) = self
[INFO] [stdout]     | |      ______________________________________________________________^
[INFO] [stdout]     | |     |______________________________________________________________|
[INFO] [stdout]     | |     |______________________________________________________________|
[INFO] [stdout]     | |     |______________________________________________________________|
[INFO] [stdout] 306 | |     |                                             .client
[INFO] [stdout] 307 | |     |                                             .check_onchain_payout(&self.cfg.polygon_rpc_url, condition_id)
[INFO] [stdout] 308 | |     |                                             .await
[INFO] [stdout]     | |     |                                              ----^
[INFO] [stdout]     | |     |______________________________________________|___|
[INFO] [stdout]     | |     |______________________________________________|___this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     |______________________________________________|___up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     |______________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                    |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |     |                                                 self.simulate_paper_redeem_settlement(&open, &onchain.payouts).await;
[INFO] [stdout]     | |     |                                                 --------------------------------------------------------------------
[INFO] [stdout]     | |     |                                                 |
[INFO] [stdout]     | |     |                                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |     |                                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |     |
[INFO] [stdout] 315 | |     |                                     }
[INFO] [stdout]     | |     |                                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |     |
[INFO] [stdout] 322 | |     |                                         let states = self.states.lock();
[INFO] [stdout]     | |     |                                             ------
[INFO] [stdout]     | |     |                                             |
[INFO] [stdout]     | |     |                                             `states` calls a custom destructor
[INFO] [stdout]     | |     |                                             `states` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |     |
[INFO] [stdout] 326 | |     |                                     self.simulate_paper_settlement(&open, price, strike).await;
[INFO] [stdout]     | |     |                                     ----------------------------------------------------------
[INFO] [stdout]     | |     |                                     |
[INFO] [stdout]     | |     |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |     |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |     |
[INFO] [stdout] 332 | |     |             }
[INFO] [stdout]     | |     |             -
[INFO] [stdout]     | |     |             |
[INFO] [stdout]     | |     |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |     |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____|_____________`futures` calls a custom destructor
[INFO] [stdout]     |       |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `states` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/detector.rs:287:44
[INFO] [stdout]     |
[INFO] [stdout] 250 | /                 tokio::select! {
[INFO] [stdout] 251 | |                     recv = rx.recv() => {
[INFO] [stdout] 252 | |                         let tick = match recv {
[INFO] [stdout] 253 | |                             Ok(tick) => tick,
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | |                             self.check_slot(&slot).await;
[INFO] [stdout]     | |                             ----------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 287 | |                             if let Ok(opens) = self.db.open_positions() {
[INFO] [stdout]     | |                                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                                                up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 295 | |                                         let api_resolved = self
[INFO] [stdout]     | |    ________________________________________________________-
[INFO] [stdout] 296 | |   |                                         .client
[INFO] [stdout] 297 | |   |                                         .check_market_resolution(condition_id)
[INFO] [stdout] 298 | |   |                                         .await
[INFO] [stdout]     | |   |                                          -----
[INFO] [stdout]     | |   |                                          |   |
[INFO] [stdout]     | |   |__________________________________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                              |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |                                             if let Ok(onchain) = self
[INFO] [stdout]     | |    ______________________________________________________________-
[INFO] [stdout]     | |   |______________________________________________________________|
[INFO] [stdout] 306 | |   |                                             .client
[INFO] [stdout] 307 | |   |                                             .check_onchain_payout(&self.cfg.polygon_rpc_url, condition_id)
[INFO] [stdout] 308 | |   |                                             .await
[INFO] [stdout]     | |   |                                              -----
[INFO] [stdout]     | |   |______________________________________________|___|
[INFO] [stdout]     | |   |______________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                  |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |   |                                                 self.simulate_paper_redeem_settlement(&open, &onchain.payouts).await;
[INFO] [stdout]     | |   |                                                 --------------------------------------------------------------------
[INFO] [stdout]     | |   |                                                 |
[INFO] [stdout]     | |   |                                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |   |                                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |   |
[INFO] [stdout] 322 | |   |                                         let states = self.states.lock();
[INFO] [stdout]     | |   |                                             ------
[INFO] [stdout]     | |   |                                             |
[INFO] [stdout]     | |   |                                             `states` calls a custom destructor
[INFO] [stdout]     | |   |                                             `states` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |   |
[INFO] [stdout] 326 | |   |                                     self.simulate_paper_settlement(&open, price, strike).await;
[INFO] [stdout]     | |   |                                     ----------------------------------------------------------
[INFO] [stdout]     | |   |                                     |
[INFO] [stdout]     | |   |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |   |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |   |
[INFO] [stdout] 330 | |   |                     }
[INFO] [stdout]     | |   |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 331 | |   |                 }
[INFO] [stdout] 332 | |   |             }
[INFO] [stdout]     | |   |             -
[INFO] [stdout]     | |   |             |
[INFO] [stdout]     | |   |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |   |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |___|_____________`futures` calls a custom destructor
[INFO] [stdout]     |     |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `states` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/binance.rs:63:19
[INFO] [stdout]      |
[INFO] [stdout]   63 |             match self.connect_and_stream().await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                         |
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]   64 |                 Ok(_) => info!("[Binance] Stream ended, reconnecting..."),
[INFO] [stdout]   65 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout]   66 |                     error!("[Binance] Error: {e}, reconnecting in 2s...");
[INFO] [stdout]   67 |                     tokio::time::sleep(tokio::time::Duration::from_secs(2)).await;
[INFO] [stdout]      |                     -------------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   70 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/feeds/binance.rs:92:31
[INFO] [stdout]     |
[INFO] [stdout]  92 |         while let Some(msg) = ws.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^-----
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  93 |             let msg = msg?;
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 |                     ws.send(Message::Pong(p)).await?;
[INFO] [stdout]     |                     --------------------------------
[INFO] [stdout]     |                     |                         |
[INFO] [stdout]     |                     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/cryptoquant.rs:52:19
[INFO] [stdout]      |
[INFO] [stdout]   52 |             match self.connect_and_stream().await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                         |
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]   53 |                 Ok(_) => info!("[CryptoQuant] Stream ended, reconnecting..."),
[INFO] [stdout]   54 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout]   55 |                     error!("[CryptoQuant] Stream error: {e}, reconnecting in 3s...");
[INFO] [stdout]   56 |                     tokio::time::sleep(tokio::time::Duration::from_secs(3)).await;
[INFO] [stdout]      |                     -------------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   59 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/feeds/cryptoquant.rs:76:31
[INFO] [stdout]     |
[INFO] [stdout]  76 |         while let Some(msg) = ws.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^-----
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  77 |             let msg = msg?;
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                     ws.send(Message::Pong(p)).await?;
[INFO] [stdout]     |                     --------------------------------
[INFO] [stdout]     |                     |                         |
[INFO] [stdout]     |                     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 100 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/tradingview.rs:46:19
[INFO] [stdout]      |
[INFO] [stdout]   46 |             match self.connect_and_stream().await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                         |
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   51 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   67 |                     tokio::time::sleep(Duration::from_secs(retry_secs)).await;
[INFO] [stdout]      |                     ---------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   70 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/feeds/tradingview.rs:90:31
[INFO] [stdout]     |
[INFO] [stdout]  90 |         while let Some(msg) = ws.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^-----
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  91 |             let msg = msg?;
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |                             let _ = ws.send(Message::Text(Self::wrap_msg(&payload))).await;
[INFO] [stdout]     |                                     ------------------------------------------------------
[INFO] [stdout]     |                                     |                                                |
[INFO] [stdout]     |                                     |                                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     |                                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 Message::Ping(p) => { ws.send(Message::Pong(p)).await?; }
[INFO] [stdout]     |                                       --------------------------------
[INFO] [stdout]     |                                       |                         |
[INFO] [stdout]     |                                       |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                       |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 119 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/tradingview.rs:127:19
[INFO] [stdout]      |
[INFO] [stdout]  124 |         let mut last_err: Option<anyhow::Error> = None;
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `last_err` calls a custom destructor
[INFO] [stdout]      |             `last_err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  127 |             match self.connect_with_headers(endpoint).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                   |
[INFO] [stdout]      |                   |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  139 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:3507:1
[INFO] [stdout]      |
[INFO] [stdout] 3507 | impl<S> Drop for SslStream<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:3507:1
[INFO] [stdout]      |
[INFO] [stdout] 3507 | impl<S> Drop for SslStream<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/feeds/mod.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             match rx.recv().await {
[INFO] [stdout]    |                   ----------^^^^^
[INFO] [stdout]    |                   |         |
[INFO] [stdout]    |                   |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                   |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                   `__awaitee` calls a custom destructor
[INFO] [stdout]    |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 53 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/polymarket/client.rs:992:19
[INFO] [stdout]      |
[INFO] [stdout]  990 |         let mut last_err: Option<anyhow::Error> = None;
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `last_err` calls a custom destructor
[INFO] [stdout]      |             `last_err` will be dropped later as of Edition 2024
[INFO] [stdout]  991 |         for path in candidates {
[INFO] [stdout]  992 |             match self.fetch_collateral_balance_for_path(path).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                            |
[INFO] [stdout]      |                   |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1010 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/polymarket/poller.rs:67:19
[INFO] [stdout]     |
[INFO] [stdout]  44 |               interval.tick().await;
[INFO] [stdout]     |               ---------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  50 |                   if let Some(new_token_id) = self.refresh_active_token().await {
[INFO] [stdout]     |                                               ---------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  67 |               match self.client.get_order_book(&active_token_id).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                            |
[INFO] [stdout]     |                     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                     |                                            up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |                           if self
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 107 | |                             .publish_midpoint_fallback(&active_token_id, "empty_or_invalid_book")
[INFO] [stdout] 108 | |                             .await
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 119 |                               if let Some(new_token_id) = self.refresh_active_token().await {
[INFO] [stdout]     |                                                           ---------------------------------
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 142 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 143 |                       if self
[INFO] [stdout]     |  ________________________-
[INFO] [stdout]     | |________________________|
[INFO] [stdout] 144 | |                         .publish_midpoint_fallback(&active_token_id, "book_error")
[INFO] [stdout] 145 | |                         .await
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |______________________________|
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 156 | |                             if let Some(new_token_id) = self.refresh_active_token().await {
[INFO] [stdout]     | |                                                         ---------------------------------
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 183 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/runtime_state.rs:120:21
[INFO] [stdout]      |
[INFO] [stdout]  101 |     let mut iv = tokio::time::interval(tokio::time::Duration::from_secs(interval_secs.max(5)));
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `iv` calls a custom destructor
[INFO] [stdout]      |         `iv` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  120 |     if let Err(e) = state.save(&path) {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  123 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iv` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/detector.rs:1321:30
[INFO] [stdout]      |
[INFO] [stdout] 1321 |             if let Some(t) = self.latest.get(&(src, asset, None)) {
[INFO] [stdout]      |                         -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |    |
[INFO] [stdout]      |                         |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                         `t` calls a custom destructor
[INFO] [stdout]      |                         `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1326 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/mod.rs:66:30
[INFO] [stdout]      |
[INFO] [stdout]   66 |             if let Some(t) = self.latest.get(&(src, asset, None)) {
[INFO] [stdout]      |                         -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |    |
[INFO] [stdout]      |                         |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                         `t` calls a custom destructor
[INFO] [stdout]      |                         `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   71 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:636:29
[INFO] [stdout]      |
[INFO] [stdout]  635 |             let feed = BinanceFeed::new(tx, true, signal_threshold_pct);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  636 |             if let Err(e) = feed.run().await { error!("[Binance] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  637 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:636:40
[INFO] [stdout]      |
[INFO] [stdout]  635 |             let feed = BinanceFeed::new(tx, true, signal_threshold_pct);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  636 |             if let Err(e) = feed.run().await { error!("[Binance] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  637 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:647:29
[INFO] [stdout]      |
[INFO] [stdout]  646 |             let feed = PolymarketLiveWsFeed::new(&ws_url, &symbol_includes, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  647 |             if let Err(e) = feed.run().await {
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  650 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:647:40
[INFO] [stdout]      |
[INFO] [stdout]  646 |             let feed = PolymarketLiveWsFeed::new(&ws_url, &symbol_includes, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  647 |             if let Err(e) = feed.run().await {
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  650 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:661:29
[INFO] [stdout]      |
[INFO] [stdout]  660 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Btc);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  661 |             if let Err(e) = feed.run().await { error!("[TradingView BTC] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  662 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:661:40
[INFO] [stdout]      |
[INFO] [stdout]  660 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Btc);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  661 |             if let Err(e) = feed.run().await { error!("[TradingView BTC] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  662 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:671:29
[INFO] [stdout]      |
[INFO] [stdout]  670 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Eth);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  671 |             if let Err(e) = feed.run().await { error!("[TradingView ETH] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  672 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:671:40
[INFO] [stdout]      |
[INFO] [stdout]  670 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Eth);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  671 |             if let Err(e) = feed.run().await { error!("[TradingView ETH] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  672 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:684:29
[INFO] [stdout]      |
[INFO] [stdout]  683 |             let feed = CryptoQuantFeed::new(&key, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  684 |             if let Err(e) = feed.run().await { error!("[CryptoQuant] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  685 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:684:40
[INFO] [stdout]      |
[INFO] [stdout]  683 |             let feed = CryptoQuantFeed::new(&key, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  684 |             if let Err(e) = feed.run().await { error!("[CryptoQuant] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  685 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:705:29
[INFO] [stdout]      |
[INFO] [stdout]  704 |             let poller = PolymarketPoller::new(client, token_id, asset, timeframe, strike, poll_ms, tx);
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `poller` calls a custom destructor
[INFO] [stdout]      |                 `poller` will be dropped later as of Edition 2024
[INFO] [stdout]  705 |             if let Err(e) = poller.run().await { error!("[Polymarket poller] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |            |
[INFO] [stdout]      |                             |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  706 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `poller` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:705:42
[INFO] [stdout]      |
[INFO] [stdout]  704 |             let poller = PolymarketPoller::new(client, token_id, asset, timeframe, strike, poll_ms, tx);
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `poller` calls a custom destructor
[INFO] [stdout]      |                 `poller` will be dropped later as of Edition 2024
[INFO] [stdout]  705 |             if let Err(e) = poller.run().await { error!("[Polymarket poller] fatal: {e}"); }
[INFO] [stdout]      |                                          ^^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  706 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `poller` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:729:29
[INFO] [stdout]      |
[INFO] [stdout]  728 |             let det = Detector::new(cfg_c, client, risk_c, db_c, tg_c, contracts_c, prices);
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `det` calls a custom destructor
[INFO] [stdout]      |                 `det` will be dropped later as of Edition 2024
[INFO] [stdout]  729 |             if let Err(e) = det.run(det_rx).await { error!("[Detector] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |               |
[INFO] [stdout]      |                             |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  730 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `det` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]      |
[INFO] [stdout]  384 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:729:45
[INFO] [stdout]      |
[INFO] [stdout]  728 |             let det = Detector::new(cfg_c, client, risk_c, db_c, tg_c, contracts_c, prices);
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `det` calls a custom destructor
[INFO] [stdout]      |                 `det` will be dropped later as of Edition 2024
[INFO] [stdout]  729 |             if let Err(e) = det.run(det_rx).await { error!("[Detector] fatal: {e}"); }
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  730 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `det` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]      |
[INFO] [stdout]  384 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:793:25
[INFO] [stdout]     |
[INFO] [stdout] 786 |         let dash = Dashboard::new(
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `dash` calls a custom destructor
[INFO] [stdout]     |             `dash` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 793 |         if let Err(e) = dash.run(shutdown_rx).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                     |
[INFO] [stdout]     |                         |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 800 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dash` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]     |
[INFO] [stdout] 384 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:793:47
[INFO] [stdout]     |
[INFO] [stdout] 786 |         let dash = Dashboard::new(
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `dash` calls a custom destructor
[INFO] [stdout]     |             `dash` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 793 |         if let Err(e) = dash.run(shutdown_rx).await {
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 800 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `dash` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]     |
[INFO] [stdout] 384 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/detector.rs:305:62
[INFO] [stdout]     |
[INFO] [stdout] 250 | /                   tokio::select! {
[INFO] [stdout] 251 | |                       recv = rx.recv() => {
[INFO] [stdout] 252 | |                           let tick = match recv {
[INFO] [stdout] 253 | |                               Ok(tick) => tick,
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | |                               self.check_slot(&slot).await;
[INFO] [stdout]     | |                               ----------------------------
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 295 | |                                           let api_resolved = self
[INFO] [stdout]     | |      ________________________________________________________-
[INFO] [stdout] 296 | |     |                                         .client
[INFO] [stdout] 297 | |     |                                         .check_market_resolution(condition_id)
[INFO] [stdout] 298 | |     |                                         .await
[INFO] [stdout]     | |     |                                          -----
[INFO] [stdout]     | |     |                                          |   |
[INFO] [stdout]     | |     |__________________________________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                                |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |                                               if let Ok(onchain) = self
[INFO] [stdout]     | |      ______________________________________________________________^
[INFO] [stdout]     | |     |______________________________________________________________|
[INFO] [stdout]     | |     |______________________________________________________________|
[INFO] [stdout]     | |     |______________________________________________________________|
[INFO] [stdout] 306 | |     |                                             .client
[INFO] [stdout] 307 | |     |                                             .check_onchain_payout(&self.cfg.polygon_rpc_url, condition_id)
[INFO] [stdout] 308 | |     |                                             .await
[INFO] [stdout]     | |     |                                              ----^
[INFO] [stdout]     | |     |______________________________________________|___|
[INFO] [stdout]     | |     |______________________________________________|___this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     |______________________________________________|___up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     |______________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                    |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |     |                                                 self.simulate_paper_redeem_settlement(&open, &onchain.payouts).await;
[INFO] [stdout]     | |     |                                                 --------------------------------------------------------------------
[INFO] [stdout]     | |     |                                                 |
[INFO] [stdout]     | |     |                                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |     |                                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |     |
[INFO] [stdout] 315 | |     |                                     }
[INFO] [stdout]     | |     |                                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |     |
[INFO] [stdout] 322 | |     |                                         let states = self.states.lock();
[INFO] [stdout]     | |     |                                             ------
[INFO] [stdout]     | |     |                                             |
[INFO] [stdout]     | |     |                                             `states` calls a custom destructor
[INFO] [stdout]     | |     |                                             `states` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |     |
[INFO] [stdout] 326 | |     |                                     self.simulate_paper_settlement(&open, price, strike).await;
[INFO] [stdout]     | |     |                                     ----------------------------------------------------------
[INFO] [stdout]     | |     |                                     |
[INFO] [stdout]     | |     |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |     |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |     |
[INFO] [stdout] 332 | |     |             }
[INFO] [stdout]     | |     |             -
[INFO] [stdout]     | |     |             |
[INFO] [stdout]     | |     |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |     |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____|_____________`futures` calls a custom destructor
[INFO] [stdout]     |       |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `states` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/detector.rs:287:44
[INFO] [stdout]     |
[INFO] [stdout] 250 | /                 tokio::select! {
[INFO] [stdout] 251 | |                     recv = rx.recv() => {
[INFO] [stdout] 252 | |                         let tick = match recv {
[INFO] [stdout] 253 | |                             Ok(tick) => tick,
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | |                             self.check_slot(&slot).await;
[INFO] [stdout]     | |                             ----------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 287 | |                             if let Ok(opens) = self.db.open_positions() {
[INFO] [stdout]     | |                                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                                                up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 295 | |                                         let api_resolved = self
[INFO] [stdout]     | |    ________________________________________________________-
[INFO] [stdout] 296 | |   |                                         .client
[INFO] [stdout] 297 | |   |                                         .check_market_resolution(condition_id)
[INFO] [stdout] 298 | |   |                                         .await
[INFO] [stdout]     | |   |                                          -----
[INFO] [stdout]     | |   |                                          |   |
[INFO] [stdout]     | |   |__________________________________________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                              |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |                                             if let Ok(onchain) = self
[INFO] [stdout]     | |    ______________________________________________________________-
[INFO] [stdout]     | |   |______________________________________________________________|
[INFO] [stdout] 306 | |   |                                             .client
[INFO] [stdout] 307 | |   |                                             .check_onchain_payout(&self.cfg.polygon_rpc_url, condition_id)
[INFO] [stdout] 308 | |   |                                             .await
[INFO] [stdout]     | |   |                                              -----
[INFO] [stdout]     | |   |______________________________________________|___|
[INFO] [stdout]     | |   |______________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                  |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |   |                                                 self.simulate_paper_redeem_settlement(&open, &onchain.payouts).await;
[INFO] [stdout]     | |   |                                                 --------------------------------------------------------------------
[INFO] [stdout]     | |   |                                                 |
[INFO] [stdout]     | |   |                                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |   |                                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |   |
[INFO] [stdout] 322 | |   |                                         let states = self.states.lock();
[INFO] [stdout]     | |   |                                             ------
[INFO] [stdout]     | |   |                                             |
[INFO] [stdout]     | |   |                                             `states` calls a custom destructor
[INFO] [stdout]     | |   |                                             `states` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |   |
[INFO] [stdout] 326 | |   |                                     self.simulate_paper_settlement(&open, price, strike).await;
[INFO] [stdout]     | |   |                                     ----------------------------------------------------------
[INFO] [stdout]     | |   |                                     |
[INFO] [stdout]     | |   |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |   |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |   |
[INFO] [stdout] 330 | |   |                     }
[INFO] [stdout]     | |   |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 331 | |   |                 }
[INFO] [stdout] 332 | |   |             }
[INFO] [stdout]     | |   |             -
[INFO] [stdout]     | |   |             |
[INFO] [stdout]     | |   |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |   |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |___|_____________`futures` calls a custom destructor
[INFO] [stdout]     |     |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `states` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/binance.rs:63:19
[INFO] [stdout]      |
[INFO] [stdout]   63 |             match self.connect_and_stream().await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                         |
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]   64 |                 Ok(_) => info!("[Binance] Stream ended, reconnecting..."),
[INFO] [stdout]   65 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout]   66 |                     error!("[Binance] Error: {e}, reconnecting in 2s...");
[INFO] [stdout]   67 |                     tokio::time::sleep(tokio::time::Duration::from_secs(2)).await;
[INFO] [stdout]      |                     -------------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   70 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/feeds/binance.rs:92:31
[INFO] [stdout]     |
[INFO] [stdout]  92 |         while let Some(msg) = ws.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^-----
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  93 |             let msg = msg?;
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 |                     ws.send(Message::Pong(p)).await?;
[INFO] [stdout]     |                     --------------------------------
[INFO] [stdout]     |                     |                         |
[INFO] [stdout]     |                     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/cryptoquant.rs:52:19
[INFO] [stdout]      |
[INFO] [stdout]   52 |             match self.connect_and_stream().await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                         |
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]   53 |                 Ok(_) => info!("[CryptoQuant] Stream ended, reconnecting..."),
[INFO] [stdout]   54 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout]   55 |                     error!("[CryptoQuant] Stream error: {e}, reconnecting in 3s...");
[INFO] [stdout]   56 |                     tokio::time::sleep(tokio::time::Duration::from_secs(3)).await;
[INFO] [stdout]      |                     -------------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   59 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/feeds/cryptoquant.rs:76:31
[INFO] [stdout]     |
[INFO] [stdout]  76 |         while let Some(msg) = ws.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^-----
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  77 |             let msg = msg?;
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                     ws.send(Message::Pong(p)).await?;
[INFO] [stdout]     |                     --------------------------------
[INFO] [stdout]     |                     |                         |
[INFO] [stdout]     |                     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 100 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/tradingview.rs:46:19
[INFO] [stdout]      |
[INFO] [stdout]   46 |             match self.connect_and_stream().await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                         |
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   51 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   67 |                     tokio::time::sleep(Duration::from_secs(retry_secs)).await;
[INFO] [stdout]      |                     ---------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   70 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/feeds/tradingview.rs:90:31
[INFO] [stdout]     |
[INFO] [stdout]  90 |         while let Some(msg) = ws.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^-----
[INFO] [stdout]     |                               |         |
[INFO] [stdout]     |                               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  91 |             let msg = msg?;
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |                             let _ = ws.send(Message::Text(Self::wrap_msg(&payload))).await;
[INFO] [stdout]     |                                     ------------------------------------------------------
[INFO] [stdout]     |                                     |                                                |
[INFO] [stdout]     |                                     |                                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     |                                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 Message::Ping(p) => { ws.send(Message::Pong(p)).await?; }
[INFO] [stdout]     |                                       --------------------------------
[INFO] [stdout]     |                                       |                         |
[INFO] [stdout]     |                                       |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                       |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 119 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/tradingview.rs:127:19
[INFO] [stdout]      |
[INFO] [stdout]  124 |         let mut last_err: Option<anyhow::Error> = None;
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `last_err` calls a custom destructor
[INFO] [stdout]      |             `last_err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  127 |             match self.connect_with_headers(endpoint).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                   |
[INFO] [stdout]      |                   |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  139 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:3507:1
[INFO] [stdout]      |
[INFO] [stdout] 3507 | impl<S> Drop for SslStream<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:3507:1
[INFO] [stdout]      |
[INFO] [stdout] 3507 | impl<S> Drop for SslStream<S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/feeds/mod.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             match rx.recv().await {
[INFO] [stdout]    |                   ----------^^^^^
[INFO] [stdout]    |                   |         |
[INFO] [stdout]    |                   |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                   |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                   `__awaitee` calls a custom destructor
[INFO] [stdout]    |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 53 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/polymarket/client.rs:992:19
[INFO] [stdout]      |
[INFO] [stdout]  990 |         let mut last_err: Option<anyhow::Error> = None;
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `last_err` calls a custom destructor
[INFO] [stdout]      |             `last_err` will be dropped later as of Edition 2024
[INFO] [stdout]  991 |         for path in candidates {
[INFO] [stdout]  992 |             match self.fetch_collateral_balance_for_path(path).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                            |
[INFO] [stdout]      |                   |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1010 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/polymarket/poller.rs:67:19
[INFO] [stdout]     |
[INFO] [stdout]  44 |               interval.tick().await;
[INFO] [stdout]     |               ---------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  50 |                   if let Some(new_token_id) = self.refresh_active_token().await {
[INFO] [stdout]     |                                               ---------------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  67 |               match self.client.get_order_book(&active_token_id).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                            |
[INFO] [stdout]     |                     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                     |                                            up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |                           if self
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 107 | |                             .publish_midpoint_fallback(&active_token_id, "empty_or_invalid_book")
[INFO] [stdout] 108 | |                             .await
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 119 |                               if let Some(new_token_id) = self.refresh_active_token().await {
[INFO] [stdout]     |                                                           ---------------------------------
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 142 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 143 |                       if self
[INFO] [stdout]     |  ________________________-
[INFO] [stdout]     | |________________________|
[INFO] [stdout] 144 | |                         .publish_midpoint_fallback(&active_token_id, "book_error")
[INFO] [stdout] 145 | |                         .await
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |______________________________|
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 156 | |                             if let Some(new_token_id) = self.refresh_active_token().await {
[INFO] [stdout]     | |                                                         ---------------------------------
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 183 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/runtime_state.rs:120:21
[INFO] [stdout]      |
[INFO] [stdout]  101 |     let mut iv = tokio::time::interval(tokio::time::Duration::from_secs(interval_secs.max(5)));
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `iv` calls a custom destructor
[INFO] [stdout]      |         `iv` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  120 |     if let Err(e) = state.save(&path) {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  123 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iv` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/detector.rs:1321:30
[INFO] [stdout]      |
[INFO] [stdout] 1321 |             if let Some(t) = self.latest.get(&(src, asset, None)) {
[INFO] [stdout]      |                         -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |    |
[INFO] [stdout]      |                         |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                         `t` calls a custom destructor
[INFO] [stdout]      |                         `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1326 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/feeds/mod.rs:66:30
[INFO] [stdout]      |
[INFO] [stdout]   66 |             if let Some(t) = self.latest.get(&(src, asset, None)) {
[INFO] [stdout]      |                         -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |    |
[INFO] [stdout]      |                         |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                         `t` calls a custom destructor
[INFO] [stdout]      |                         `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   71 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:636:29
[INFO] [stdout]      |
[INFO] [stdout]  635 |             let feed = BinanceFeed::new(tx, true, signal_threshold_pct);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  636 |             if let Err(e) = feed.run().await { error!("[Binance] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  637 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:636:40
[INFO] [stdout]      |
[INFO] [stdout]  635 |             let feed = BinanceFeed::new(tx, true, signal_threshold_pct);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  636 |             if let Err(e) = feed.run().await { error!("[Binance] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  637 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:647:29
[INFO] [stdout]      |
[INFO] [stdout]  646 |             let feed = PolymarketLiveWsFeed::new(&ws_url, &symbol_includes, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  647 |             if let Err(e) = feed.run().await {
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  650 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:647:40
[INFO] [stdout]      |
[INFO] [stdout]  646 |             let feed = PolymarketLiveWsFeed::new(&ws_url, &symbol_includes, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  647 |             if let Err(e) = feed.run().await {
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  650 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:661:29
[INFO] [stdout]      |
[INFO] [stdout]  660 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Btc);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  661 |             if let Err(e) = feed.run().await { error!("[TradingView BTC] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  662 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:661:40
[INFO] [stdout]      |
[INFO] [stdout]  660 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Btc);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  661 |             if let Err(e) = feed.run().await { error!("[TradingView BTC] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  662 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:671:29
[INFO] [stdout]      |
[INFO] [stdout]  670 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Eth);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  671 |             if let Err(e) = feed.run().await { error!("[TradingView ETH] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  672 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:671:40
[INFO] [stdout]      |
[INFO] [stdout]  670 |             let feed = TradingViewFeed::new(&symbol, tx, types::Asset::Eth);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  671 |             if let Err(e) = feed.run().await { error!("[TradingView ETH] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  672 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:684:29
[INFO] [stdout]      |
[INFO] [stdout]  683 |             let feed = CryptoQuantFeed::new(&key, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  684 |             if let Err(e) = feed.run().await { error!("[CryptoQuant] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^-----
[INFO] [stdout]      |                             |          |
[INFO] [stdout]      |                             |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  685 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:684:40
[INFO] [stdout]      |
[INFO] [stdout]  683 |             let feed = CryptoQuantFeed::new(&key, tx);
[INFO] [stdout]      |                 ----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `feed` calls a custom destructor
[INFO] [stdout]      |                 `feed` will be dropped later as of Edition 2024
[INFO] [stdout]  684 |             if let Err(e) = feed.run().await { error!("[CryptoQuant] fatal: {e}"); }
[INFO] [stdout]      |                                        ^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  685 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `feed` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:705:29
[INFO] [stdout]      |
[INFO] [stdout]  704 |             let poller = PolymarketPoller::new(client, token_id, asset, timeframe, strike, poll_ms, tx);
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `poller` calls a custom destructor
[INFO] [stdout]      |                 `poller` will be dropped later as of Edition 2024
[INFO] [stdout]  705 |             if let Err(e) = poller.run().await { error!("[Polymarket poller] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |            |
[INFO] [stdout]      |                             |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  706 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `poller` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:705:42
[INFO] [stdout]      |
[INFO] [stdout]  704 |             let poller = PolymarketPoller::new(client, token_id, asset, timeframe, strike, poll_ms, tx);
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `poller` calls a custom destructor
[INFO] [stdout]      |                 `poller` will be dropped later as of Edition 2024
[INFO] [stdout]  705 |             if let Err(e) = poller.run().await { error!("[Polymarket poller] fatal: {e}"); }
[INFO] [stdout]      |                                          ^^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  706 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `poller` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `poller` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:729:29
[INFO] [stdout]      |
[INFO] [stdout]  728 |             let det = Detector::new(cfg_c, client, risk_c, db_c, tg_c, contracts_c, prices);
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `det` calls a custom destructor
[INFO] [stdout]      |                 `det` will be dropped later as of Edition 2024
[INFO] [stdout]  729 |             if let Err(e) = det.run(det_rx).await { error!("[Detector] fatal: {e}"); }
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |               |
[INFO] [stdout]      |                             |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  730 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `det` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]      |
[INFO] [stdout]  384 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:729:45
[INFO] [stdout]      |
[INFO] [stdout]  728 |             let det = Detector::new(cfg_c, client, risk_c, db_c, tg_c, contracts_c, prices);
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `det` calls a custom destructor
[INFO] [stdout]      |                 `det` will be dropped later as of Edition 2024
[INFO] [stdout]  729 |             if let Err(e) = det.run(det_rx).await { error!("[Detector] fatal: {e}"); }
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  730 |         }));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `det` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.76/src/ssl/mod.rs:1744:1
[INFO] [stdout]      |
[INFO] [stdout] 1744 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1745 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1746 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1757 | |     pub struct SslContextRef;
[INFO] [stdout] 1758 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `det` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]      |
[INFO] [stdout]  384 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:793:25
[INFO] [stdout]     |
[INFO] [stdout] 786 |         let dash = Dashboard::new(
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `dash` calls a custom destructor
[INFO] [stdout]     |             `dash` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 793 |         if let Err(e) = dash.run(shutdown_rx).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                     |
[INFO] [stdout]     |                         |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 800 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dash` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]     |
[INFO] [stdout] 384 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:793:47
[INFO] [stdout]     |
[INFO] [stdout] 786 |         let dash = Dashboard::new(
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `dash` calls a custom destructor
[INFO] [stdout]     |             `dash` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 793 |         if let Err(e) = dash.run(shutdown_rx).await {
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 800 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `dash` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:384:1
[INFO] [stdout]     |
[INFO] [stdout] 384 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: polymarket-arb v0.2.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking polymarket-arb v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b", kill_on_drop: false }`
[INFO] [stdout] 31739024fec9150b9af822b251215212fd5800971959d9f9f9eb8d04b907a60b
